|
자주 쓰이는 메소드및 API 를 정리합니다. |
탭으로 나뉘어져 있는 글입니다. [1][2][3] |
|
등록일:2008-03-17 10:03:44 (0%) 작성자: 제목:Java by API > java.awt.image > BufferedImage |
|
new BufferedImage(int width, int height, int imageType)
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
public void paint(Graphics g) {
Image img = createImage();
g.drawImage(img, 20,20,this);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
private Image createImage(){
BufferedImage bufferedImage = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawString("ssiso.mireene.com", 20,20);
return bufferedImage;
}
}
|
BufferImage emboss
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ConvolveOp;
import java.awt.image.Kernel;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
public void paint(Graphics g) {
BufferedImage clone = emboss(createImage());
g.drawImage(clone, 20,20,this);
}
public BufferedImage emboss(BufferedImage src) {
int width = src.getWidth();
int height = src.getHeight();
BufferedImage dst;
dst = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for (int i = 0; i < height; i++)
for (int j = 0; j < width; j++) {
int upperLeft = 0;
int lowerRight = 0;
if (i > 0 && j > 0)
upperLeft = src.getRGB(j - 1, i - 1);
if (i < height - 1 && j < width - 1)
lowerRight = src.getRGB(j + 1, i + 1);
int redDiff = ((lowerRight >> 16) & 255) - ((upperLeft >> 16) & 255);
int greenDiff = ((lowerRight >> 8) & 255) - ((upperLeft >> 8) & 255);
int blueDiff = (lowerRight & 255) - (upperLeft & 255);
int diff = redDiff;
if (Math.abs(greenDiff) > Math.abs(diff))
diff = greenDiff;
if (Math.abs(blueDiff) > Math.abs(diff))
diff = blueDiff;
int grayColor = 128 + diff;
if (grayColor > 255)
grayColor = 255;
else if (grayColor < 0)
grayColor = 0;
int newColor = (grayColor << 16) + (grayColor << 8) + grayColor;
dst.setRGB(j, i, newColor);
}
return dst;
}
private BufferedImage createImage(){
BufferedImage bufferedImage = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawString("ssiso.mireene.com", 20,20);
return bufferedImage;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
|
BufferedImage: getSource()
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.FilteredImageSource;
import java.awt.image.RGBImageFilter;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
public void paint(Graphics g) {
NegativeFilter nf = new NegativeFilter();
Image i = createImage(new FilteredImageSource(createImage().getSource(), nf));
g.drawImage(i, 20, 20, this);
}
private BufferedImage createImage() {
BufferedImage bufferedImage = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawString("ssiso.mireene.com", 20, 20);
return bufferedImage;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
class NegativeFilter extends RGBImageFilter {
public NegativeFilter() {
canFilterIndexColorModel = true;
}
public int filterRGB(int x, int y, int rgb) {
return rgb ^ 0x00ffffff;
}
} |
[본문링크] Java by API > java.awt.image > BufferedImage
|
탭으로 나뉘어져 있는 글입니다. [1][2][3]
|
|
|
|
|
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=2819 |
|
|
|
|
|
|
|
|
|
Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.
|
|
|